package com.mainservlet;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class RootServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 重定向到主界面
        ForwardMainPage(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 重定向到主界面

        ForwardMainPage(request,response);
    }

    private void ForwardMainPage(HttpServletRequest request, HttpServletResponse response) throws IOException {
        PrintWriter r = response.getWriter();
        response.setHeader("content-type","text/html;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        String str = new String("<!DOCTYPE html>" +
                "<head>" +
                "<title>MainPage</title>" +
                " 这个页面将被重定向 " +
                "</head>"+
                "<body>" +
                "<h1>重定向到主界面</br></h1>" +
                "<h2>重定向到主界面</br></h2>" +
                "<h3>重定向到主界面</br></h3>" +
                "<h4>重定向到主界面</br></h4>" +
                "<h5>重定向到主界面</br></h5>" +
                "<h5>endendend</br></h5>" +
                "</body>");
        r.print(str);

        String main_page = this.getServletContext().getInitParameter("mainpage");

        // 转发方式  成功跳转到mainpage页面
        RequestDispatcher d = this.getServletContext().getRequestDispatcher(main_page);
        try{
            d.forward(request,response);
        }catch(Exception e){
            r.print(e.getMessage());
            System.out.print(e.getMessage());
        }

        // 重定向方式  转发方式跳转失败。  原因： 重定向不能够访问WEB-INF内部的文件
//        response.sendRedirect(main_page);


        /*
            转发和重定向有两个很大的区别
            转发能够将response和request全部都转发到对应的页面中
            转发能够访问WEB-INF内部的文件
         */
    }
}
